package com.atguigu.divide_and_conquer;

/**
 * @author Amos
 * @date 2022/6/25
 */


// 汉诺塔的解题步骤(分两步)
    /*
        第一步：
            把n-1个模块 从塔1移动到塔2
            把第n个模块 从塔1移动到塔3
        第二步：
            把n-1个模块 从塔2移动到塔3
     */
public class Hanoitower {
    public static void hanoi(Integer n, String a, String b, String c) {
        if (n == 1) {
            System.out.println(a + " 移动到 " + c);
        } else {
            hanoi(n - 1, a, c, b);
            System.out.println(a + " 移动到 " + c);
            hanoi(n - 1, b, a, c);
        }
    }
    public static void main(String[] args) {
        hanoi(5, "塔1", "塔2", "塔3");
    }
}
